#pragma once

class iLogDump;

#define Log iLog::Inst()

#ifndef _DEBUG
#define LogD //*
#else
#define LogD iLog::Inst().d()
#endif

#define LogR iLog::Inst().r()

class iLog
{
public:
	static iLog* Inst();
	~iLog(void);
	enum LogMode{Unknown, Error, Warning, Comment, Event, Debug, Message}; // Use iLog::Error or Log::LogMode var;

	iLogDump * r(LogMode mode);
	iLogDump * d(LogMode mode);
protected:
	iLog(void);
private:
	static iLog* pInstance;
	iLogDump * mLogDump;
};



